System for establishing communication

ABSTRACT

Disclosed is a system for establishing communication channel between a user and a resource. A data capturing module captures data corresponding to the user of the web service. A resource identification module identifies the resource based on comparison of one or more attribute of the resource with the data. A determination module determines at least one mode of a communication channel between the user and the resource by comparing a bandwidth of the communication channel available with one of the user and the resource. Examples of the communication channel comprises a video call, an audio call, an automated chat, and an email. A connection module connects the resource to the user via the at least one mode of the communication channel.

PRIORITY INFORMATION

This application is a Divisional of prior U.S. patent application Ser.No. 16/494,714 entitled A SYSTEM FOR ESTABLISHING COMMUNICATION, filedSep. 16, 2019, which claims the benefit of prior WO Patent ApplicationNo. PCT/IB2018/051700 filed Mar. 14, 2018, which claims priority toIndian Patent Application Number 201721009133 filed on Mar. 16, 2017,the entirety of which is hereby incorporated by reference.

TECHNICAL FIELD

The present subject matter described herein, in general, relates tocommunication and in particularly a system and method to establishcommunication channel between a user and a resource.

BACKGROUND

Currently, internet is increasingly available to individuals acrossremote locations of the world. Because of the increasing reach of theinternet, websites, web applications, web services, social mediachannels and e-commerce applications are being adopted as a commonpractice by businesses and many individuals or users. The users opt forvariety of business operations like a product or a service purchase,user support services such as product replacement, undelivered package,wrong shipment, change of address of shipment, damages to the product,complaint registration, complaint resolution and many more. In order tohelp the user resolve queries, the e-commerce or online businessplatforms provide non-real time or static assistance to the users in theform of chats, SMS, audio or video call, forms and the like. Some of theweb services delivery platforms are providing services via self-servicechannels such as an auto-generated response system. The aforementionedservices are developed based upon the problems faced by the user in thepast related to the product or service. The web service deliveryplatforms fail to resolve the problems of every individual transactingover the e-commerce or online business platform in a preferred language.The users across the world speak multiple languages hence it becomestroublesome and restrictive for the users to do business over thee-commerce or online business applications as the language of theapplications is usually English.

The web service delivery platforms are unable to integrate data acrossall communication channels into a single repository and typically storeuser as well as transaction information in different platforms anddatabases. It may be understood that obtaining or creating a single viewof user across the globe is extremely tedious job. In addition to theaforementioned knowledge, the web service platforms are incapable ofproviding real-time data pertaining to each interaction of the user overthe system creating many problems for big data integration.

The web service platform also fails to provide assistance to the uservia a video call or an audio call because of fluctuating internetconnection. The web service platforms also fail to provide assistance inreal time to the user. As there is no common platform to provideassistance to the user, traffic at the web service platform increasesresulting in increase in wait time at the user's end.

SUMMARY

Before the present systems and methods for establishing communicationchannel between a user and a resource, are described, it is to beunderstood that this application is not limited to the particularsystems and methodologies described, as there can be multiple possibleembodiments which are not expressly illustrated in the presentdisclosure. It is also to be understood that the terminology used in thedescription is for the purpose of describing the particular versions orembodiments only, and is not intended to limit the scope of the presentapplication. This summary is provided to introduce concepts related tosystems and methods for establishing communication channel between theuser and the resource and the concepts are further described below inthe detailed description. This summary is not intended to identifyessential features of the claimed subject matter nor is it intended foruse in determining or limiting the scope of the claimed subject matter.

In one implementation, a method for establishing a communication channelbetween a user and a resource is disclosed. In order to establish thecommunication channel, initially, data corresponding to the user of aweb service may be captured. In one aspect, the data may comprise atleast one of a user name, a user ID, a language, a location, compliancerules of the location, a browsing history, a browsing pattern, adocument, a feedback of the resource, a disposition action and a timezone. Once the data is captured, a resource may be identified based oncomparison of one or more attribute of the resource with the data. Inone aspect, the attribute may include one or more of a spoken language,a preferred language, a field of expertise, a geographic location, atime zone, a network information, and a device information of theresource. After identifying the resource, at least one mode of acommunication channel between the user and the resource may bedetermined by comparing a bandwidth of the communication channelavailable with one of the user and the resource. In one aspect, thecommunication channel comprises one or more of a video call, an audiocall, an automated chat, and an email. Subsequent to the determinationof the communication channel, the resource may be connected to the uservia at the least one mode of the communication channel, therebyestablishing the communication channel between the user and the resourceof the web service. In one aspect, the aforementioned method forestablishing the communication channel between the user and the resourceof the web service may be performed by a processor using programmedinstructions stored in a memory.

In another implementation, a system for establishing communicationchannel between a user and a resource is disclosed. The system maycomprise a processor and a memory coupled to the processor. Theprocessor may execute a plurality of modules present in the memory. Theplurality of modules may comprise a data capturing module, a resourceidentification module, a determination module, and a connection module.The data capturing module may capture data corresponding to the user ofa web service. In one aspect, the data comprises of at least one of auser name, a user ID, a language, a location, compliance rules of thelocation, a browsing history, a browsing pattern, a document, a feedbackof the resource, a disposition action and a time zone. The resourceidentification module identifies the resource based on comparison of oneor more attribute of the resource with the data. In one aspect, theattribute comprises a spoken language, a preferred language, a field ofexpertise, a geographic location, a time zone, a network information,and a device information of the resource. The determination moduledetermines at least one mode of a communication channel between the userand the resource by comparing a bandwidth of the communication channelavailable with one of the user and the resource. In one aspect, thecommunication channel may comprise at least a video call, an audio call,an automated chat, and an email. The connection module may connect theresource to the user via the at least one mode of the communicationchannel, thereby establishing the communication channel between the userand the resource of the web service.

In yet another implementation, non-transitory computer readable mediumembodying a program executable in a computing device for establishingcommunication channel between a user and a resource is disclosed. Theprogram may comprise a program code for capturing data corresponding toa user of a web service. In one aspect, the data may comprise at leastone of a user name, a user ID, a language, a location, compliance rulesof the location, a browsing history, a browsing pattern, a document, afeedback of the resource, a disposition action and a time zone. Theprogram may further comprise a program code identifying the resourcewherein the resource is identified based on comparison of one or moreattribute of the resource with the data. In one aspect, the attributecomprises a spoken language, a preferred language, a field of expertise,a geographic location, a time zone, a network information, and a deviceinformation of the resource. The program may further comprise a programcode for determining at least one mode of a communication channelbetween the user or the resource by comparing a bandwidth of thecommunication channel available with one of the user and the resource.In one aspect, the communication channel comprises at least a videocall, an audio call, an automated chat, and an email. The program mayfurther comprise a program code for connecting the resource to the uservia the at least one mode of the communication channel, therebyestablishing the communication channel between the user and the resourceof the web service.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing detailed description of embodiments is better understoodwhen read in conjunction with the appended drawings. For the purpose ofillustrating the disclosure, example constructions of the disclosure areshown in the present document; however, the disclosure is not limited tothe specific methods and apparatus disclosed in the document and thedrawings.

The detailed description is given with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Thesame numbers are used throughout the drawings to refer like features andcomponents.

FIG. 1 illustrates a network implementation of a system for establishingcommunication channel between a user and a resource, in accordance withan embodiment of the present subject matter.

FIG. 2 illustrates the system, in accordance with an embodiment of thepresent subject matter.

FIGS. 3, 4, 5, 6, 7, 8, and 9 illustrates a flow chart of the system, inaccordance with an embodiment of the present subject matter.

FIG. 10 illustrates a method for establishing communication channelbetween the user and the resource, in accordance with an embodiment ofthe present subject matter.

DETAILED DESCRIPTION

Some embodiments of the present disclosure, illustrating all itsfeatures, will now be discussed in detail. The words “capturing”,“generating”, “providing”, “distributing”, “determining”, “identifying”,“receiving”, “monitoring”, “migrating”, “enabling”, “initiating”,“providing” and “connecting” and other forms thereof, are intended to beequivalent in meaning and be open ended in that an item or itemsfollowing any one of these words is not meant to be an exhaustivelisting of such item or items, or meant to be limited to only the listeditem or items. It must also be noted that as used herein and in theappended claims, the singular forms “a,” “an,” and “the” include pluralreferences unless the context clearly dictates otherwise. Although anysystems and methods similar or equivalent to those described herein canbe used in the practice or testing of embodiments of the presentdisclosure, the exemplary, systems and methods for establishingcommunication channel between a user and a resource are now described.The disclosed embodiments of the system and method for establishingcommunication channel between the user and the resource are merelyexemplary of the disclosure, which may be embodied in various forms.

Various modifications to the embodiment will be readily apparent tothose skilled in the art and the generic principles herein may beapplied to other embodiments. However, one of ordinary skill in the artwill readily recognize that the present disclosure for establishingcommunication channel between the user and the resource is not intendedto be limited to the embodiments illustrated, but is to be accorded thewidest scope consistent with the principles and features describedherein.

The present subject matter discloses a system and method forestablishing communication channel between the user and the resource ofa web service. Example of the web service may include an e-commerceplatform, a call centre, a virtual store, a delivery center and others.In one implementation, data corresponding to the user of the web servicemay be captured. In one aspect, the data comprise a user name, a userID, a language, a location, compliance rules of the location, a browsinghistory, a browsing pattern, a document, a feedback of the resource, adisposition action, a time zone and the like. Further to capturing thedata, a resource may be identified based on comparison of one or moreattribute of the resource with the data. Examples of the attributecomprises a spoken language, a preferred language, a field of expertise,a geographic location, a time zone, a network information, a deviceinformation of the resource, and the like. After determining theresource, at least one mode of a communication channel between the userand the resource may be determined by comparing the bandwidth availablewith the user and a predefined threshold of the bandwidth for thecommunication channel. In one aspect, the communication channelcomprises one or more of a video call, an audio call, an automated chat,and an email and the like. Further to the determination of thecommunication channel, the resource may be connected to the user via atleast one mode of the communication channel. In one aspect, theconnection may be based upon the bandwidth available with the user orthe resource, thereby establishing the communication channel between theuser and the resource of the web service.

In addition to the above functionalities, big data sets comprising datacorresponding to the user may also be analyzed. Furthermore, differentbusiness applications using an API or a widget of the web service viacloud interface may also be integrated. It may be understood that theresource of the web service may be deployed across a world and may beoperating in different time zones. Also the user and the resource may beconnected in real time via at least one mode of a communication channel.In addition, if the user or the resource is not connected to theinternet, the system may establish a Public Switched Telephone Network(PSTN) call between the user and the resource. In one example,compliance solutions to an administrator of the web service may also beprovided. It is advantageous, that the system may distribute thecommunication traffic from the user to one or more resources present atdifferent geographical location. These advantages are not the onlyadvantages and any person skilled in the art may identify one or moreadvantages for the aforementioned description.

Although the present disclosure for establishing communication channelbetween the user and the resource is explained considering that thesystem 102 is implemented on a server, it may be understood that thesystem 102 may be implemented in a variety of computing systems, such asa laptop computer, a desktop computer, a notebook, a workstation, amainframe computer, a server, a network server, a distributed computingarchitecture, a virtual machine environment, and a cloud-based computingenvironment. It may be understood that the system 102 may be configuredto receive, share and store data from a system database configuredinside the system 102. In one implementation, the system 102 may accessdata from databases installed at different geographical locations, or inparts with the system database. It will be understood that the system102 may be accessed by multiple users through one or more user devices104-1, 104-2 . . . 104-N, collectively referred to as user 104 orstakeholders, hereinafter, or applications residing on the user devices104. In one implementation, the system 102 may comprise the cloud-basedcomputing environment in which a user may operate individual computingsystems configured to execute remotely located applications. Examples ofthe user devices 104 may include, but are not limited to, a portablecomputer, a personal digital assistant, a handheld device, a mobilephone, a landline telephone, a chord less telephone, and a workstation.The user devices 104 are communicatively coupled to the system 102through a network 106.

In one implementation, the network 106 may be a wireless network, awired network or a combination thereof. The network 106 can beimplemented as one of the different types of networks, such as intranet,local area network (LAN), wide area network (WAN), the internet, and thelike. The network 106 may either be a dedicated network or a sharednetwork. The shared network represents an association of the differenttypes of networks that use a variety of protocols, for example,Hypertext Transfer Protocol (HTTP), Transmission ControlProtocol/Internet Protocol (TCP/IP), Wireless Application Protocol(WAP), and the like, to communicate with one another. Further thenetwork 106 may include a variety of network devices, including routers,bridges, servers, computing devices, storage devices, and the like.

Referring now to FIG. 1 , a network implementation 100 of a system 102for establishing communication channel between a user and the resourceis disclosed. In order to establish the communication channel betweenthe user and the resource, initially, the system 102 captures datacorresponding to a user of a web service via network 106. In one aspect,the data may comprise a user name, a user ID, a language, a location,compliance rules of the location, a browsing history, a browsingpattern, a document, a feedback of the resource, a disposition action, atime zone and a like. Once the data is captured, the system 102identifies a resource based on comparison of one or more attribute ofthe resource with the data. In one aspect, the attribute may include aspoken language, a preferred language, a field of expertise, ageographic location, a time zone, a network information, and a deviceinformation of the resource, and the like. Subsequent to theidentification of the resource, the system 102 determines at least onemode of a communication channel between the user and the resource bycomparing a bandwidth of the communication channel available with one ofthe user and the resource. In one aspect, the communication channelcomprises at least a video call, an audio call, an automated chat, andan email and the like. After determining the communication channel, thesystem 102 connects the resource to the user, over the network 106, viaat least one mode of the communication channel. In one aspect, theconnection may be based upon the bandwidth available with the user orthe resource, thereby establishing the communication channel between theuser and the resource of the web service.

According to various embodiments of the present subject matter, thesystem may record each interaction of the user and the resource acrossat least one mode of the communication channel. In one aspect, thesystem 102 may also provide a compliance solution to an administrator ofthe web service based upon the geographical location of the user and theresource. In one aspect, the system 102 may be integrated with the webservice via an Application Programming Interface (API), a widget to thewebsite, a plug-in option or an add-on option in an internet browser andothers. The system 102 also provides a set of standard layouts and a setof functionality in the widget. In one aspect, the system 102 may alsobe scaled by integrating with one or more of big data, IoT devices, adistributed computing architecture and a multitenant system.

Referring now to FIG. 2 , the system 102 is illustrated in accordancewith an embodiment for establishing communication channel between theuser and the resource. In one embodiment, the system 102 may include atleast one processor 202, an input/output (I/O) interface 204, and amemory 206. The at least one processor 202 may be implemented as one ormore microprocessors, microcomputers, microcontrollers, digital signalprocessors, central processing units, state machines, logic circuitries,and/or any devices that manipulate signals based on operationalinstructions. Among other capabilities, the at least one processor 202is configured to fetch and execute computer-readable instructions storedin the memory 206.

The I/O interface 204 may include a variety of software and hardwareinterfaces, for example, a web interface, a graphical user interface,and the like. The I/O interface 204 may allow the system 102 to interactwith the user directly or through the client devices 104. Further, theI/O interface 204 may enable the system 102 to communicate with othercomputing devices, such as web servers and external data servers (notshown). The I/O interface 204 can facilitate multiple communicationswithin a wide variety of networks and protocol types, including wirednetworks, for example, LAN, cable, etc., and wireless networks, such asWLAN, cellular, or satellite. The I/O interface 204 may include one ormore ports for connecting a number of devices to one another or toanother server.

The memory 206 may include any computer-readable medium or computerprogram product known in the art including, for example, volatilememory, such as static random access memory (SRAM) and dynamic randomaccess memory (DRAM), and/or non-volatile memory, such as read onlymemory (ROM), erasable programmable ROM, flash memories, hard disks,optical disks, cloud storages and magnetic tapes. The memory 206 mayinclude modules 208 and data 210.

The modules 208 include routines, programs, objects, components, datastructures, etc., which perform particular tasks or implement particularabstract data types. In one implementation, the modules 208 may includea data capturing module 212, a resource identification module 214, adetermination module 216, a connection module 218, and other modules220. The other modules 220 may include programs or coded instructionsthat supplement applications and functions of the system 102. Themodules 208 described herein may be implemented as software modules thatmay be executed in the cloud-based computing environment of the system102.

The data 210, amongst other things, serves as a repository for storingdata processed, received, and generated by one or more of the modules208 of the system 102 for establishing communication channel between theuser and the resource. The data 210 may also include a central data 222,and other data 224. The other data 224 may include data generated as aresult of the execution of one or more modules in the other modules 220.

As there are various challenges observed in the existing art, thechallenges necessitate the need to build the system 102 for establishingcommunication channel between the user and the resource. In order toestablish the connection, at first, the user may use the client device104 to access the system 102 via the I/O interface 204. The user mayregister using the I/O interface 204 in order to use the system 102. Inone aspect, the user may access the I/O interface 204 of the system 102.The system 102 may employ the data capturing module 212, the resourceidentification module 214, the determination module 216, and theconnection module 218. The detail functioning of the modules isdescribed below with the help of FIG. 2 .

Data Capturing Module 212

In one embodiment, the data capturing module 212 captures datacorresponding to a user of a web service. In one example, the data maycomprise at least one of a user name, a user ID, a language, a location,compliance rules of the location, a browsing history, a browsingpattern, a type of a document, a language of the document, a dispositionaction, a time zone, and the like.

In another embodiment, prior to capturing the data, the data capturingmodule 212 may receive an assistance request from the user to establisha communication channel between the user and the resource. Further toreceiving the assistance request, the data capturing module 212 mayidentify a source of the assistance request where the source comprisesat least a mobile application, an email, a QR code, an Internet ofThings (IoT) device, a Voice over Internet Protocol (VoIP) device, aself-service system, a Public Switch Telephone Network (PSTN), a widgetembedded in a website or a social media and the like. Subsequent toidentification of the source of the assistance request, the datacapturing module 212 may capture data corresponding to the user from thesource. In one example, when the source of the assistance request isfrom the PSTN or the widget embedded in the website, the data capturingmodule 212 may not capture historic data corresponding to the user. Thehistoric data comprises the language, the location, the compliance rulesof the location, the browsing history, the browsing pattern, the type ofthe document, the language of the document, the disposition action andthe time zone. Further, the data capturing module 212 may generate aprofile value of the user based on the historic data corresponding tothe user. In order to generate the profile value of the user requestingassistance from the PSTN or the widget embedded in the website, the datacapturing module 212 may generate a form, a quiz, a questionnaire andthe like, to capture additional data corresponding to the user. Inanother embodiment, the data capturing module 212 may update the profilevalue of the user based on a dispose action and the data correspondingto a transfer of the one or more documents between the user and theresource. In one aspect, the data capturing module 212 may also fetchdata about subscription of the user to the web service. If thesubscription is in active stage the data capturing module 212 maycapture data corresponding to the user, else an error message may begenerated. In one aspect, the data capturing module 212 may create arepository for storing each interaction of the user and the resourceacross the communication channel. It may be understood that the datacapturing module 212 may store the data corresponding to the user in thecentral data 222.

Resource Identification Module 214

Further to capturing the data, the resource identification module 216identifies the resource based on comparison of one or more attribute ofthe resource with the data. In one aspect, the attribute comprises aspoken language, a preferred language, a field of expertise, ageographic location, a time zone, a network information, a deviceinformation of the resource, and the like.

In one embodiment, the resource identification module 214 may alsoidentify the resource based on a type of the resource based on theprofile value of the user, a set of business rules and a bandwidth ofthe user and the resource. Examples of the resource may be aself-service system in user language, an artificial intelligence chat,an outsourced agent, an employee, a home agent, and the like. In oneaspect, the resource may also be categorized based upon matching of thefield of expertise of the resource and the browsing history of the user.In one aspect, the resource identification module 214 may identify theresource based upon the spoken language of the resource and the languagepreference of the user. In one aspect, the resource identificationmodule 214 may identify the resource when the bandwidth available withthe user matches with a network information of the resource. In anotherembodiment, if the resource is offline, the resource identificationmodule 214 may identify the resource based upon one or more of theaforementioned attributes corresponding with the data and notify theresource to connect with the user.

Further to identifying the type of resource, the resource identificationmodule 214 may identify the availability of the resource. When theresource may be found to be busy, the resource identification module 214may play a waiting message while identifying an alternate resource toconnect to the user. In one aspect, the waiting message may be an audioor a video advertisement, a jingle, a promotional event, and the like,based on the data corresponding to the user. In one example, theresource identification module 214 may play the waiting message in thelanguage of the user. In another embodiment, when the resource and thealternate resource is found to be busy, the resource identificationmodule 214 may identify a translation for the language of the user fromthe central data 222. Upon identifying the translation of the language,the resource identification module 214 may identify availability of theresource of any language. In one aspect, the resource of any languagemay be situated in a same or different time zone as compared to the timezone of the user. Once the resource identification module 214 identifiesthe resource, the resource and the user may be connected. In anotherembodiment, when neither of the translation for the user language northe resource of any other language is available, the resourceidentification module 214 may request the user to submit a callbackrequest, a voice message, a text message, initiate the self-servicesystem in the user language and others. It may be understood that uponreceiving the request from the user, the resource identification module214 may initiate the self-service system in the language of the user asa default mode of interaction with the user.

Determination Module 216

Further to identification of the resource, the determination module 216determines at least one mode of a communication channel between the useror the resource by comparing bandwidth of the communication channelavailable with one of the user and the resource. In one aspect, thecommunication channel may comprise at least a video call, an audio call,an automated chat, an email, and the like. It may be understood that thepredefined threshold of the bandwidth indicates minimum bandwidthavailability at the system 102 in order to connect the user and theresource via at least one of the communication channel. The predefinedthreshold of the bandwidth may be different for each of thecommunication channel. It may be understood that the predefinedthreshold of the bandwidth may be highest for the video call and lowestfor the automated chat. In one example, when bandwidth of thecommunication channel available with one of the user or the resource isnot available, the determination module 216 may determine PSTN as a modeof the communication channel between the user and the resource. In oneaspect, the communication channel determination module 216 may provide aunified communication channel to connect the user and the resource. Theunified communication channel connects the user and the resource overmultiple communication channels in real time.

In one embodiment, the determination module 216 may monitor change inbandwidth of the communication channel available with one of the user orthe resource for establishing a new communication channel. When thebandwidth of the user or the resource falls below the predefinedthreshold of the bandwidth for the communication channel, thedetermination module 216 may transfer the communication channel to thenew communication channel suitable for the bandwidth of the user and theresource. Similarly, when the bandwidth of the user or the resource isdetected to be higher than the predefined threshold of the bandwidth thecommunication channel, the determination module 216 may transfer thecommunication channel to the new communication channel suitable for thebandwidth of the user and the resource.

Connection Module 218

Further to determination of the communication channel, connection module218 connects the resource to the user via the at least one mode of thecommunication channel. In one embodiment, the connection module 218 maymonitor a session between the user and the resource of the web serviceand the bandwidth of the communication channel available with one of theuser or the resource. In one aspect, the connection module 218 mayinitiate the session after establishing the communication channelbetween the user and the resource of the web service. Further toinitiating the session, the connection module 218 may receive a documentfrom the user during the session. In one embodiment, the connectionmodule 218 may transmit the document to the user during the session.

In one embodiment, the connection module 218 may transfer the session toa new communication channel based on one or more of a request receivedfrom the user or the resource and change in bandwidth of thecommunication channel available with one of the user or the resource forestablishing a new communication channel. In another embodiment, theconnection module 218 may initiate a dispose action on receiving adispose request from at least the user or the resource. In one aspect,the connection module 218 may update the profile value of the user basedon the feedback received from the user and the resource.

In order to explain the functioning of the aforementioned modules,consider an example where a user visits a web service and requestsassistance from the resource of the web service. Referring now to FIGS.3, 4, 5, 6, 7, and 8 initially, at step 302, the data capturing module212 may receive an assistance request from the user to establish thecommunication channel between the user and the resource. Prior toreceiving the assistance request, the data capturing module 212 mayregister the user by receiving user name, user ID, language, emailaddress and the like. Further to receiving the assistance request, atstep 402, the data capturing module 212 may identify the source of theassistance request. Example of the source of the request comprises amobile application, an email, a QR code, an Internet of Things (IoT)device, a Voice over Internet Protocol (VoIP), a self-service system, aPublic Switched Telephone Network (PSTN), a widget over a website or asocial media, and the like. Examples of the web service include, but notlimited to, an e-commerce platform, a distributor, a work forcemanagement channel, a call center, an employment service, amanufacturing center, a service delivery processes, global offices,logistics arms, a finance service, Human Resource (HR), a dealer, astockiest, a retail outlet, field employees, commissionresources/brokers and the like. Further to identifying the source, atstep 404, the data capturing module 212 may capture the datacorresponding to the user from the source of the assistance request. Inone aspect, the data may comprise a user name, a user ID, a language, alocation, compliance rules of the location, a browsing history, abrowsing pattern, a type of a document, a language of the document, adisposition action, a time zone and the like. At step 406, the datacapturing module 212 may examine if additional data is required togenerate a profile value of the user. When the source of the assistancerequest is from the PSTN or the widget embedded in the website, the datacapturing module 212 may not capture historic data corresponding to theuser. The historic data comprises the language, the location, thecompliance rules of the location, the browsing history, the browsingpattern, the type of the document, the language of the document, thedisposition action and the time zone. At step 408, the data capturingmodule 212 may generate a form, a quiz and the like, to capture theadditional data corresponding to the user. In one aspect, when thesource of the request is the PSTN call or the widget over the website,the data capturing module 212 may require the additional data comprisinglocation, language, time zone and the like, to generate a profile valueof the user. In another aspect, when the request is received from themobile application, the widget of the social media, and the QR code, thedata capturing module 212 may capture additional data comprising timezone of the user, location of the user, and the bandwidth available withthe user. Further to capturing the data corresponding to the user, atstep 410, the data capturing module 212 may generate profile value ofthe user based on historic data. In one embodiment, the data capturingmodule 212 may generate the profile value of the user based on a Bigdata analysis, data captured from a Customer Relationship Management(CRM) system and the like. The CRM system compiles data from a range ofcommunication channels including the website, the PSTN, the email, livechat, the documents, the social media and the like. It may be understoodthat the data capturing module 212 may update the profile value of theuser, in real time, based on exchange of the documents between the userand the resource.

In one example, the profile value of the user indicates a level ofimportance of the user to the web service. The user with the highestprofile value may be the most important to the web service and similarlythe user with the lowest profile value may be the least important to theweb service.

Subsequent to the generation of the profile value, the resourceidentification module 214 may identify the resource based on comparisonof one or more attribute of the resource with the data. Examples of theattribute may include a spoken language, a preferred language, a fieldof expertise, a geographic location, a time zone, a network information,a device information of the resource, and the like. In one aspect, atstep 412, the resource identification module 214 identifies a type ofthe resource based on the profile of the user, a set of business rulesand bandwidth of the user and the resource. Examples of the resource isa self-service system in the user language, an artificial intelligencechat, an outsourced agent, an employee, a home agent, and the like. Theset of business rules comprise a cost estimation of the resource forassisting the user. In one aspect, the resource identification module214 may identify the resource as a self-service system for the user ofthe lowest profile. While the resource identification module 214 mayidentify the employee of the web service for assisting the user with thehighest profile value. In one aspect, the identification of the resourcemay also depend on the amount of products or services selected by theuser.

Further to identification of the type of the resource, at step 304, theresource identification module 214 may identify availability of theresource. At step 502, the resource identification module 214 mayexamine if the resource is busy. In one aspect, the resourceidentification module 214 may examine if the resource is available onthe website, the mobile application, the PSTN call, and the like. Whenthe resource is not available on the website, the mobile application,the PSTN call, and the like, at step 504, the resource identificationmodule 214 may play a waiting message while examining availability of analternate resource, at step 506, to connect to the user. When thealternate resource is not available on the website, the mobileapplication, the PSTN call, and the like, at step 508, the resourceidentification module 214 may examine availability of the translation ofthe user language from the central data 222. When the translation of theuser language is available, at step 512, the resource identificationmodule may examine the availability of the resource of any language toconnect to the user. When the translation of the user language or theresource of any language is not available, at step 510, the resourceidentification module 214 may receive a call back request, a voicemessage, a text message, a video message and the like. Further, at step510, the resource identification module 214 may initiate theself-service system in the user language in order to assist the user. Atstep 306, when the resource is not busy, at step 512, when the alternateresource is available, at step 506, or when the resource of any languageis available, at step 512, the connection module 218 may establish thecommunication channel between the user and the resource based upon thebandwidth availability of the resource and the user.

In one embodiment, at step 306, the determination module 216 maydetermine at least one mode of a communication channel between the useror the resource by comparing the bandwidth available with the user orthe resource and a predefined threshold of the bandwidth. Examples ofthe communication channel are a video call, an audio call, an automatedchat, an email, and a PSTN call. It may be understood that the thresholdof the bandwidth for a video call may be the highest and for theautomated chat may be the lowest.

In one embodiment, the waiting message may be a jingle, anadvertisement, a promotional audio or video message, a campaign, and thelike. It may be understood that the waiting message may be played whenthe resource is busy or when the resource turns down the communicationchannel to a “hold” mode.

Further to establishing the communication channel, the connection module218 may initiate a session between the user and the resource. At step308, the connection module 218 may record and monitor session betweenthe resource and the user. In one aspect, at step 602, the connectionmodule 218 may continuously measure the bandwidth of the user and theresource. At step 604, the connection module 218 may migrate the sessionto a new communication session based on request received from the useror the resource and the bandwidth availability for establishing a newcommunication channel. In one aspect, the migration of the session fromthe communication channel to the new communication channel may be basedupon the set of business rules. Further to the aforementioned steps, atstep 310, when query of the user is resolved, the connection module 218may initiate a dispose action from the user or the resource.

In another embodiment, further to initiating the session, at step 702,the connection module 218 may enable transfer of one or more documentsbetween the user and the resource. In one aspect, the user may requestthe resource for transfer of the one or more documents related to theproduct or service offered by the web service. In one aspect, theresource may request the user to transfer one or more documents for apurpose of authentication, registration and the like. In one aspect, theone or more documents corresponding to the user may be stored in thecentral data 222. In another embodiment, the profile value of the usermay be updated, in the real time, based on the transfer of one or moreof the documents.

In one embodiment, the connection module 218 may initiate recording thesession based elements as duration of the session, type of an issue,domain of the issue, actions of the resource, response of the user andthe like. The connection module 218 may store the recording of eachsession at central data 222. Further, the connection module 218 maymonitor the interactions of the resource and transmit the real time datato a supervisor where the supervisor is an expert in the domain of theissue and is the resource with higher cost. In one aspect, thesupervisor may interrupt between the session, of the resource and theuser, and provide assistance to the user. In one aspect, the set ofbusiness rules may be based on the time of the session between theresource and the user. In one aspect, when the duration of the sessionincreases cost of the resource, the connection module 218 may migrate tothe new communication channel where the cost of the resource is lessthan the cost of the product or the service selected by the user. In oneexample, the resource identification module 214 may identify theresource based on the availability of the resource linked with the user.

Further to initiating the dispose action, at step 802, the connectionmodule 218 may receive a feedback of the user. Similarly, at step 804,the connection module 218 may update the data corresponding to the userin central data 222 and also link the resource with the user. At step806, the connection module 218 may update the profile value of the user,in real time, based upon the dispose action received from the user orthe resource.

In one embodiment, the aforementioned functionality may be accessed bydownloading the mobile application, scanning the QR code, clicking aconnection link in the email, initiating the PSTN call, clicking thewidget over the website or the social media and the like. In oneexample, the system may offer the assistance of the resource only toregistered users. It may be understood that the system may register theusers by receiving personal data comprising user name, user ID,language, email address and the like. In order to avail the assistance,referring now to FIG. 9 , at step 902, the user may be subscribed to thewidget. At step 904, the system may examine a web service platform ofthe user. At step 910, when the web service platform is a ContentManagement System (CMS) a predefined plug-in for the CMS may bedownloaded. Examples of the CMS are WordPress, Drupal, Joomla,Expression Engine, Text Pattern, Radiant CMS, Cushy CMS, Silver Stripeand the like. At step 912, the plugin may be added to the web serviceplatform. At step 906, when the web service platform is not the CMS, thecode snippet for the widget may be downloaded. At step 908, the codesnippet may be added to the HTML pages of the web service platform.After successful addition of the code snippet or the plug-in, the webservice platform may be launched along with the widget. In anotherexample, the user may select a subscription pack out of an annualsubscription, a monthly subscription, a quarterly subscription, a halfyearly subscription and the like. When the subscription of the user isnot active, an error message may be generated. In one aspect, the usermay be prompted to select the subscription pack in order to avail theassistance.

Referring now to FIG. 10 , a method 1000 for establishing communicationchannel between a user and a resource is shown, in accordance with anembodiment of the present subject matter. The method 1000 may bedescribed in the general context of computer executable instructions.Generally, computer executable instructions can include routines,programs, objects, components, data structures, procedures, modules,functions, etc., that perform particular functions or implementparticular abstract data types. The method 1000 may also be practiced ina distributed computing environment where functions are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, computer executableinstructions may be located in both local and remote computer storagemedia, including memory storage devices.

The order in which the method 1000 for establishing communicationchannel between a user and a resource is described is not intended to beconstrued as a limitation, and any number of the described method blockscan be combined in any order to implement the method 1000 or alternatemethods. Additionally, individual blocks may be deleted from the method1000 without departing from the spirit and scope of the subject matterdescribed herein. Furthermore, the method can be implemented in anysuitable hardware, software, firmware, or combination thereof. However,for ease of explanation, in the embodiments described below, the method1000 may be considered to be implemented as described in the system 102.

At block 1002, data corresponding to a user of a web service iscaptured. In one example, the data comprise data comprises of at leastone of a user name, a user ID, a language, a location, compliance rulesof the location, a browsing history, a browsing pattern, a document, afeedback of the resource, a disposition action, a time zone, and thelike. In one implementation, the data capturing module 212 captures datacorresponding to a user of a web service and store the data in thecentral data 222.

At block 1004, a resource is identified. In one example, the resource isidentified based on comparison of one or more attribute of the resourcewith the data. In one aspect, the attribute comprises a spoken language,a preferred language, a field of expertise, a geographic location, atime zone, a network information, and a device information of theresource. In one implementation, the resource identification module 214identifies the resource where the resource is identified based oncomparison of one or more attribute of the resource with the data andstores the attribute in the central data 222.

At block 1006, at least one mode of a communication channel between theuser or the resource is determined. In one example, the communicationchannel comprises at least a video call, an audio call, an automatedchat, an email, and a PSTN call. In one implementation, thedetermination module 216 determines at least one mode of a communicationchannel between the user or the resource by comparing bandwidth of thecommunication channel available with one of the user and the resourceand stores the bandwidth of the user or the resource in the central data222.

At block 1008, the resource may be connected to the user via at leastone mode of the communication channel. In one example, the connection isbased upon the bandwidth available with the user or the resource. In oneimplementation, the connection module 218 connects the resource to theuser via at least one mode of the communication channel and storesinformation related to the connection in the central data 222.

Exemplary embodiments discussed above may provide certain advantages.Though not required to practice aspects of the disclosure, theseadvantages may include those provided by the following features.

Some embodiments enable a system and a method to provide multi lingualplatform for the user and the resource. The system changes userinterface to the language preference of the user and the spoken languageof the resource thereby providing digital inclusion.

Some embodiments enable a system and a method to provide variousanalytics on global data sets for identifying usage trends of the webservice platforms in a real time.

Some embodiments enable a system and a method to provide ease ofmonitoring and setting alerts on the global data set.

Some embodiments enable a system and a method to provide a unifiedcommunication channel integrating each mode of the communication channelinto one framework.

Some embodiments enable a system and a method to provide compliancesolutions related to the location of the resource and the user.

Some embodiments enable a system and a method to monitor risk associatedwith the data of the user.

Some embodiments enable a system and a method to provide assistance inthe language of the user.

Some embodiments enable a system and a method to distribute the trafficof the user to the global resources.

Although implementations for methods and systems for establishingcommunication channel between the user and the resource have beendescribed in language specific to structural features and/or methods, itis to be understood that the appended claims are not necessarily limitedto the specific features or methods described. Rather, the specificfeatures and methods are disclosed as examples of implementations forestablishing communication channel between the user and the resource.

We claim:
 1. A system for communicatively coupling a user to one ofmultiple remote service resources associated with a remote web service,comprising: a processor; a memory coupled to the processor; a datacapturing module that receives a service request from a user andcaptures attributes of the user based on the service request; a resourceidentification module that selects, based the captured attributes of theuser, a personalized remote service resource of the multiple remoteservice resources of the remote web service; and a connection modulethat connects the user to the personalized remote service resource basedon an amount of bandwidth available to the user, and an amount ofbandwidth available to the personalized remote service resource.
 2. Thesystem of claim 1, wherein the data capturing module receives additionalattributes of the user and the personalized remote service resourcebased on multiple data sources that capture data from historical datadocuments associated with the user and the personalized assistanceresource.
 3. The system of claim 1, wherein the data capturing moduledynamically generates a form to capture additional attributes from theuser, and wherein the system further comprises: an input-output (I/O)interface that provides the form to the user.
 4. The system of claim 1,further comprising: a determination module that determines a mode ofcommunication for connecting the user to the personalized remote serviceresource based on the amount of bandwidth available to the user.
 5. Thesystem of claim 4, wherein the determination module adjusts the mode ofcommunication in response to detecting a change in the amount ofbandwidth available to the user or in response to detecting a change inthe amount of bandwidth available to the personalized remote serviceresource.
 6. The system of claim 4, wherein the determination moduledetermines: the mode of communication is a video call in response to theamount of bandwidth available to the user being greater than a firstpredefined threshold associated with the video call; the mode ofcommunication is an audio call in response to the amount of bandwidthavailable to the user being greater a second predefined thresholdassociated with the audio call and being lower than the first predefinedthreshold; the mode of communication is an automated chat in response tothe amount of bandwidth available to the user being lower than thesecond predefined threshold; and the mode of communication is a publicswitched telephone network (PSTN) connection in response to the amountof bandwidth available to the user being indeterminate.
 7. The system ofclaim 1, wherein the data capturing module uses the captured attributesof the user to create a profile for the user, and wherein the profilefor the user is further updated in real-time based on additionaldocuments that are exchanged between the user and the personalizedassistance resource.
 8. The system of claim 1, wherein the attributes ofthe user captured by the data capturing module comprise historic userdata that include compliance rules of a location associated with theuser.
 9. One or more non-transitory computer-readable media storinginstructions which, when executed by one or more processors, causeperformance of a process comprising: receiving, from a user, a requestto establish a session with one of multiple remote service resourcesassociated with a remote web service; determining user attributesassociated with the request, wherein the user attributes include abandwidth availability and a source of the request; identifying, basedon the user attributes, a particular remote service resource of themultiple remote service resources for servicing the request from theuser; selecting, from multiple modes of communication, a particular modefor communicating with the particular remote service resource based onthe bandwidth availability; and establishing a personalized assistancesession, using the particular mode for communicating, between the userand the particular assistance resource.
 10. The one or morenon-transitory computer-readable media of claim 9, wherein determiningthe user attributes associated with the request comprises: determiningthe source of the request; and determining whether the source of therequest is capable of capturing historic data corresponding to the user.11. The one or more non-transitory computer-readable media of claim 10,wherein determining the user attributes associated with the requestfurther comprises: capturing the historic data corresponding to theuser, in response to determining that the source of the request iscapable of capturing historic data corresponding to the user; andgenerating a profile for the user based on the historic data.
 12. Theone or more non-transitory computer-readable media of claim 10, whereindetermining the user attributes associated with the request furthercomprises: generating a form to collect additional information from theuser; providing the form to the user; and generating a profile for theuser based on the additional information collected from the formprovided to the user.
 13. The one or more non-transitorycomputer-readable media of claim 9, wherein identifying the particularassistance resource comprises: determining a subset of the multipleassistance resources with resource attributes that match with at leastone of the user attributes associated with the request; and selectingthe particular assistance resource from the subset of the multipleassistance resources.
 14. The one or more non-transitorycomputer-readable media of claim 9, wherein identifying the particularassistance resource comprises: determining a subset of the multipleassistance resources associated with a cost that matches with a level ofimportance of the user to the web service; and selecting the particularassistance resource from the subset of the multiple assistanceresources.
 15. The one or more non-transitory computer-readable media ofclaim 9, the process further comprising: monitoring the sessionestablished using the particular mode for communicating; and in responseto detecting a change in the bandwidth availability, changing theparticular mode for communicating to another mode selected from themultiple modes of communication.
 16. The one or more non-transitorycomputer-readable media of claim 9, wherein determining user attributesassociated with the request comprise: determining that the source of therequest is an Internet of Things (IoT) device.
 17. The one or morenon-transitory computer-readable media of claim 9, wherein selecting theparticular mode for communicating with the particular remote serviceresource comprises: selecting a video call mode of the multiple modes ofcommunication in response to the bandwidth availability being greaterthan a first predefined threshold associated with the video call mode;selecting an audio call mode of the multiple modes of communication inresponse to the bandwidth availability being greater than a secondpredefined threshold associated with the audio call mode and being lowerthan the first predefined threshold; selecting an automated chat mode ofthe multiple modes of communication in response to the bandwidthavailability being lower than the second predefined threshold; andselecting a public switched telephone network (PSTN) mode of themultiple modes of communication in response to the bandwidthavailability being indeterminate
 18. A method for connecting a user toremote service resources, the method comprising: receiving, at a remoteweb service, a request from the user to connect to one of the remoteservice resources, the request originating from an access source;determining, by the remote web service, user attributes associated withthe user based on attributes associated with the access source;determining, by the remote web service, a bandwidth availabilityassociated with the user; comparing, by the remote web service, the userattributes to attributes of the remote service resources; based on saidcomparison of attributes, identifying a particular remote serviceresource of the remote service resources that matches the userattributes; comparing the bandwidth availability associated with theuser and another bandwidth availability associated with the particularremote service resource to bandwidth thresholds associated withcommunication channels of the particular remote service resource; basedon said comparisons of bandwidth availabilities of the user and theparticular remote service resource, selecting an optimal communicationmode from multiple available communication modes of the particularremote service resource; and establishing, using the access source, apersonalized communication channel between the user and the particularremote service resource via the optimal communication mode.
 19. Themethod of claim 18, further comprising: monitoring, in real-time, apersonalized session between the user and the particular remote serviceresource across multiple communication modes; detecting a change in themonitored session over the optimal communication mode; and migrating thesession to a new communication mode, in response to detecting saidchange.
 20. The method of claim 18, wherein selecting an optimalcommunication mode of the particular remote service resource comprises:selecting a video call mode of the multiple available communicationmodes of the particular remote service resource when the bandwidthavailability exceeds a first predefined threshold associated with thevideo call mode; selecting an audio call mode of the multiple availablecommunication modes of the particular remote service resource when thebandwidth availability exceeds a second predefined threshold associatedwith the audio call mode and is lower than the first predefinedthreshold; selecting an automated chat mode of the multiple availablecommunication modes of the particular remote service resource when thebandwidth availability is lower than the second predefined thresholdassociated with the audio call mode; and selecting a public switchedtelephone network (PSTN) mode of the multiple available communicationmodes for the user and the particular remote service resource when thebandwidth availability associated with the user and the particularremote service resource are indeterminate.